package br.edu.ifrn.sgpapp.adapter;

import java.util.List;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import br.edu.ifrn.sgp.dtos.TramitacaoProcessoDTO;
import br.edu.ifrn.sgpapp.R;
import br.edu.ifrn.sgpapp.util.Formatador;
import br.edu.ifrn.sgpapp.util.ValidatorUtil;

public class TramitacoesProcessoListAdapter extends BaseAdapter {

	private Activity context;
	
	private List<TramitacaoProcessoDTO> tramitacoes;
	
	public TramitacoesProcessoListAdapter(Activity context, List<TramitacaoProcessoDTO> arquivos) {
		super();
		this.context = context;
		this.tramitacoes = arquivos;
	}
	
	@Override
	public int getCount() {
		return tramitacoes.size();
	}

	@Override
	public TramitacaoProcessoDTO getItem(int position) {
		return tramitacoes.get(position);
	}

	@Override
	public long getItemId(int position) {
		return position;
	}
	
	private class ViewHolder {
		TextView txtItem;
		TextView txtItem2;
		TextView txtItem3;
		TextView txtItem4;
		TextView txtItem5;
		TextView txtItem6;
		TextView txtItem7;
		TextView txtItem8;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolder holder;
		LayoutInflater inflater = context.getLayoutInflater();
		
		if (convertView == null) {
			convertView = inflater.inflate(R.layout.lista_tramitacoes_item, null);
			holder = new ViewHolder();
			holder.txtItem = (TextView) convertView.findViewById(R.id.itemTxt);
			holder.txtItem2 = (TextView) convertView.findViewById(R.id.itemTxt2);
			holder.txtItem3 = (TextView) convertView.findViewById(R.id.itemTxt3);
			holder.txtItem4 = (TextView) convertView.findViewById(R.id.itemTxt4);
			holder.txtItem5 = (TextView) convertView.findViewById(R.id.itemTxt5);
			holder.txtItem6 = (TextView) convertView.findViewById(R.id.itemTxt6);
			holder.txtItem7 = (TextView) convertView.findViewById(R.id.itemTxt7);
			holder.txtItem8 = (TextView) convertView.findViewById(R.id.itemTxt8);
			convertView.setTag(holder);
		} else {
			holder = (ViewHolder) convertView.getTag();
		}
		
		TramitacaoProcessoDTO tram = tramitacoes.get(position);
		
		holder.txtItem.setText(tram.getUnidadeOrigem().getNome() + " (" + tram.getUnidadeOrigem().getCampus().getNome() + ")");
		holder.txtItem2.setText(Formatador.getInstance().formatarDataHora(tram.getDataEnvioOrigem()));
		holder.txtItem3.setText(tram.getUsuarioOrigem().getPessoa().getNome());
		holder.txtItem4.setText(ValidatorUtil.isNotEmpty(tram.getDespachoEnvio()) ? tram.getDespachoEnvio() : "-");
		holder.txtItem5.setText(tram.getUnidadeDestino().getNome() + " (" + tram.getUnidadeDestino().getCampus().getNome() + ")");
		holder.txtItem6.setText(tram.getDataRecebimentoDestino() != null ? Formatador.getInstance().formatarDataHora(tram.getDataRecebimentoDestino()) : "-");
		holder.txtItem7.setText(tram.getUsuarioRecebimento() != null ? tram.getUsuarioRecebimento().getPessoa().getNome() : "-");
		holder.txtItem8.setText(ValidatorUtil.isNotEmpty(tram.getDespachoRecebimento()) ? tram.getDespachoRecebimento() : "-");

		return convertView;
	}

}
